The present disclosure relates to computer networks.
Computer networks are widely used for storage and processing of large amounts of data. For example, storage area networks (SANs) are used by commercial data centers to provide cloud storage and other services to both individual and business clients.
A storage area network needs high bandwidth, low latency, and high security, and should be easy to administrate to avoid service delays when computer hardware or software is added, removed, updated, etc. in response to changing demands or failures.
A network example suitable for SAN is a Fibre Channel (FC) network, standardized by the International Committee for Information Technology Standards (INCITS), which is accredited by American National Standards Institute (ANSI). FIG. 1 illustrates an FC network 102. Computer nodes 110, shown as initiators 110h and targets 110s, communicate with each other over a switch fabric 114 having one or more switches 120. Each node 110s is a computer system including data storage devices 130, such as magnetic or optical disks or magnetic tapes, accessible to initiator nodes 110h as if the storage devices were part of the initiator nodes. For example, a device 130 can be a disk accessible to an initiator 110h if the initiator specifies the disk's sector number and a starting offset within the sector.
An initiator 110h can be a server communicating with other computers (not shown) over the Internet. Initiator 110h initiates a communication with a target 110s to store or retrieve data from the target's device(s) 130. If a node 110 changes state—e.g. goes down, logs out, or changes its name, or a new node 110 or new devices 130 are connected to the network, or existing devices are disconnected or reconfigured, etc.—the switches 120 notify the other nodes 110 that a state change occurred. These notifications are called Registered State Change Notifications, or RSCNs. The other nodes can then query the switch fabric for specific information on the state change.
In a network with thousands of computers 110 and 120 serving many clients, RSCNs and subsequent queries generate significant traffic, sapping bandwidth and interrupting other communications. See U.S. Pat. No. 8,295,288 issued Oct. 23, 2012 to Chen et al. and incorporated herein by reference.
The RSCN-related traffic (RSCNs and subsequent queries) can be reduced by zoning. A zone is a set of nodes 110 allowed to communicate with each other. Some nodes 110 never communicate with each other and can be placed in different zones. Such nodes do not need RCSNs regarding each other's state, so the RSCNs are limited to the zone in which a state change occurred. Zones are defined by a human administrator using network management software running on a node 110h or some other computer.
A single node 110 can be in multiple zones.
FIG. 2 illustrates an FC network with three zones 210: 210-A, 210-B, 210-C. Only one switch 120 is shown. Nodes 110 are not shown in their entirety; only their adaptors 110A are shown (as 110Ah for initiators and 110As for targets). Each adaptor 110A has one or more ports 110P (marked 110Ph for initiators, and 110Ps for targets); each port 110P can be connected to a port 120F of switch 120. A node 110 may have multiple adaptors 110A connected to the switch fabric; and an adaptor may have multiple ports 110P connected to the switch fabric. Each adaptor 110A is identified by a World Wide Name (WWN), which is a unique hardware name burned into the adaptor. Each port 110P is identified by World Wide Port Name (WWPN) which is a unique hardware identifier.
Zones 210 are defined by a list of nodes 110 in each zone. Alternatively, the zones are defined at a finer granularity by a list of adaptors 110A in each zone (e.g. a list of WWNs), or a list of ports 110P (e.g. a list of WWPNs), or a list of the corresponding switch ports 120F. A zone member can also be a device 130, or a device's area (volume), listed as a Logical Identification Number (LUN) for example.
The initiator adaptors 110Ah are labeled in FIG. 2 as HBA-1 through HBA-4, and CNA-1. “HBA” stands for “host bus adaptor”; its ports 110P are connected to switches via fiber optic links. “CNA” stands for “converged network adaptor”; its ports are connected to switches by Ethernet-compliant links to implement Fibre Channel over Ethernet (FCoE); such links can carry any Ethernet traffic, including an Ethernet frame encapsulating an FC frame.
The target ports 110As are labeled as 110As-1 and 110As-2 in FIG. 2.
Each switch includes a name server 220 which maintains a database 220DB storing, in the switch's memory, information on nodes 110 and their adaptors and ports connected to the switches 120. That information includes the adaptors' WWNs and ports' WWPNs. The switch's zone module 210M, possibly a server, stores data defining each zone, e.g. each zone's WWNs or WWPNs.
Servers and modules, such as 220 and 210M, are implemented for example by data and software instructions stored in the switch's memory; the instructions are executed by the switch's processor(s), not shown in FIG. 2; see FIG. 6 described below.
In FIG. 2, zone 210-A consists of adaptors HBA-1, CNA-1, HBA-2, and 110As-1. Zone 210-B consists of adaptors HBA-3 and 110As-2. Zone 210-C consists of adaptors HBA-4 and 110As-2.
If adaptor 110As-2 or some other part of the corresponding node changes state, then switch 120 will send RSCNs to adaptors HBA-3 and HBA-4 only.
If adaptor 110As-1 or some other part of its node changes state, only the adaptors HBA-1, CNA-1, and HBA-2 will get RSCNs.
If adaptor HBA-1 changes state, then only adaptors CNA-1, HBA-2, and 110As-1 will get RSCNs.
It is desirable to further reduce the RSCN traffic.